package com.flyco.modules.ums.entity;

import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import com.flyco.poi.excel.annotation.Excel;

/**
 * @Description: 用户
 * @Author: flyco
 * @Date:   2021-06-10
 * @Version: V1.0
 */
@Data
@TableName("ums_member")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="ums_member对象", description="用户")
public class UmsMember {
    
	/**id*/
	@TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "id")
	@JsonSerialize(using= ToStringSerializer.class)
	private java.lang.Long id;
	/**客户类型：1-C端客户,5-B端客户*/
	@ApiModelProperty(value = "客户类型：1-C端客户,5-B端客户")
	private Integer type;
	/**品牌id：1飞科 2博锐*/
	@ApiModelProperty(value = "品牌id：1飞科 2博锐")
	private Long brandId;
	/**1默认，5团长*/
	@ApiModelProperty(value = "1默认，5团长")
	private Integer role;
	/**会员姓名*/
	@Excel(name = "会员姓名", width = 15)
    @ApiModelProperty(value = "会员姓名")
	private java.lang.String name;
	/**店铺id*/
	@Excel(name = "店铺id", width = 15)
    @ApiModelProperty(value = "店铺id")
	private java.lang.Long storeId;
	/**分销员id*/
	@Excel(name = "分销员id", width = 15)
    @ApiModelProperty(value = "分销员id")
	private java.lang.Long sponsorId;
	/**会员等级*/
	@Excel(name = "会员等级", width = 15)
    @ApiModelProperty(value = "会员等级")
	private java.lang.Integer memberLevel;
	/**国际区号*/
	@Excel(name = "国际区号", width = 15)
    @ApiModelProperty(value = "国际区号")
	private java.lang.String internationalCode;
	/**手机号码*/
	@Excel(name = "手机号码", width = 15)
    @ApiModelProperty(value = "手机号码")
	private java.lang.String mobile;
	/**密码*/
	@Excel(name = "密码", width = 15)
    @ApiModelProperty(value = "密码")
	private java.lang.String password;
	/**昵称*/
	@Excel(name = "昵称", width = 15)
    @ApiModelProperty(value = "昵称")
	private java.lang.String nickname;
	/**帐号启用状态:0->禁用；1->启用*/
	@Excel(name = "帐号启用状态:0->禁用；1->启用", width = 15)
    @ApiModelProperty(value = "帐号启用状态:0->禁用；1->启用")
	private java.lang.Integer status;
	/**头像*/
	@Excel(name = "头像", width = 15)
    @ApiModelProperty(value = "头像")
	private java.lang.String avatar;
	/**性别：-1->未知；1->男；2->女*/
	@Excel(name = "性别：-1->未知；1->男；2->女", width = 15)
    @ApiModelProperty(value = "性别：-1->未知；1->男；2->女")
	private java.lang.Integer sex;
	/**生日*/
	@Excel(name = "生日", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "生日")
	private java.util.Date birthday;
	/**生日年*/
	@Excel(name = "生日年", width = 15)
    @ApiModelProperty(value = "生日年")
	private java.lang.Integer birthYear;
	/**生日月份*/
	@Excel(name = "生日月份", width = 15)
    @ApiModelProperty(value = "生日月份")
	private java.lang.Integer birthMonth;
	/**生日日*/
	@Excel(name = "生日日", width = 15)
    @ApiModelProperty(value = "生日日")
	private java.lang.Integer day;
	/**省份*/
	@Excel(name = "省份", width = 15)
    @ApiModelProperty(value = "省份")
	private java.lang.String province;
	/**所在城市*/
	@Excel(name = "所在城市", width = 15)
    @ApiModelProperty(value = "所在城市")
	private java.lang.String city;
	/**所在地区*/
	@Excel(name = "所在地区", width = 15)
    @ApiModelProperty(value = "所在地区")
	private java.lang.String region;
	/**详细地址*/
	@Excel(name = "详细地址", width = 15)
    @ApiModelProperty(value = "详细地址")
	private java.lang.String address;
	/**职业*/
	@Excel(name = "职业", width = 15)
    @ApiModelProperty(value = "职业")
	private java.lang.String job;
	/**注册时的cookie_token*/
	@Excel(name = "注册时的cookie_token", width = 15)
    @ApiModelProperty(value = "注册时的cookie_token")
	private java.lang.String regToken;
	/**注册时间*/
	@Excel(name = "注册时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "注册时间")
	private java.util.Date regTime;
	/**注册的系统:：’smart’智能终端,’online’官网销售,’shop’门店*/
	@Excel(name = "注册的系统:：’smart’智能终端,’online’官网销售,’shop’门店", width = 15)
    @ApiModelProperty(value = "注册的系统:：’smart’智能终端,’online’官网销售,’shop’门店")
	private java.lang.String regSystem;
	/**String	注册时终端类型：pc/wap/ios/android/miniprogram*/
	@Excel(name = "String	注册时终端类型：pc/wap/ios/android/miniprogram", width = 15)
    @ApiModelProperty(value = "String	注册时终端类型：pc/wap/ios/android/miniprogram")
	private java.lang.String regScreen;
	/**注册时终端操作系统 window/mac/android*/
	@Excel(name = "注册时终端操作系统 window/mac/android", width = 15)
    @ApiModelProperty(value = "注册时终端操作系统 window/mac/android")
	private java.lang.String regOs;
	/**注册时ip*/
	@Excel(name = "注册时ip", width = 15)
    @ApiModelProperty(value = "注册时ip")
	private java.lang.String regIp;
	/**注册时浏览器(含app版本)*/
	@Excel(name = "注册时浏览器(含app版本)", width = 15)
    @ApiModelProperty(value = "注册时浏览器(含app版本)")
	private java.lang.String regAgent;
	/**最后登陆时的cookie_token*/
	@Excel(name = "最后登陆时的cookie_token", width = 15)
    @ApiModelProperty(value = "最后登陆时的cookie_token")
	private java.lang.String lastToken;
	/**最后登陆时间*/
	@Excel(name = "最后登陆时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "最后登陆时间")
	private java.util.Date lastTime;
	/**最后登陆系统*/
	@Excel(name = "最后登陆系统", width = 15)
    @ApiModelProperty(value = "最后登陆系统")
	private java.lang.String lastSystem;
	/**最后登陆操作系统*/
	@Excel(name = "最后登陆操作系统", width = 15)
    @ApiModelProperty(value = "最后登陆操作系统")
	private java.lang.String lastOs;
	/**最后登陆ip*/
	@Excel(name = "最后登陆ip", width = 15)
    @ApiModelProperty(value = "最后登陆ip")
	private java.lang.String lastIp;
	/**最后登陆agent，含app版本*/
	@Excel(name = "最后登陆agent，含app版本", width = 15)
    @ApiModelProperty(value = "最后登陆agent，含app版本")
	private java.lang.String lastAgent;
	/**登陆次数累计*/
	@Excel(name = "登陆次数累计", width = 15)
    @ApiModelProperty(value = "登陆次数累计")
	private java.lang.Integer loginCount;
	/**积分*/
	@Excel(name = "积分", width = 15)
    @ApiModelProperty(value = "积分")
	private java.lang.Integer integration;
	/**成长值*/
	@Excel(name = "成长值", width = 15)
    @ApiModelProperty(value = "成长值")
	private java.lang.Integer growth;
	/**历史积分数量*/
	@Excel(name = "历史积分数量", width = 15)
    @ApiModelProperty(value = "历史积分数量")
	private java.lang.Integer historyIntegration;
	/**外部来源类型：ad,cps,ref*/
	@Excel(name = "外部来源类型：ad,cps,ref", width = 15)
    @ApiModelProperty(value = "外部来源类型：ad,cps,ref")
	private java.lang.String netSourceType;
	/**一级来源(keyname)*/
	@Excel(name = "一级来源(keyname)", width = 15)
    @ApiModelProperty(value = "一级来源(keyname)")
	private java.lang.String netSourceArg1;
	/**二级来源(keysource)*/
	@Excel(name = "二级来源(keysource)", width = 15)
    @ApiModelProperty(value = "二级来源(keysource)")
	private java.lang.String netSourceArg2;
	/**三级来源*/
	@Excel(name = "三级来源", width = 15)
    @ApiModelProperty(value = "三级来源")
	private java.lang.String netSourceArg3;
	/**四级来源*/
	@Excel(name = "四级来源", width = 15)
    @ApiModelProperty(value = "四级来源")
	private java.lang.String netSourceArg4;
	/**来源明细*/
	@Excel(name = "来源明细", width = 15)
    @ApiModelProperty(value = "来源明细")
	private java.lang.String netSourceArgdetail;
	/**推荐人*/
	@Excel(name = "推荐人", width = 15)
    @ApiModelProperty(value = "推荐人")
	private java.lang.Integer sponserUserId;
	/**最后修改时间*/
	@Excel(name = "最后修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "最后修改时间")
	private java.util.Date updateTime;
	/**智能硬件用户主id*/
	@Excel(name = "智能硬件用户主id", width = 15)
    @ApiModelProperty(value = "智能硬件用户主id")
	private java.lang.String appUserId;
	/**智能硬件专用token*/
	@Excel(name = "智能硬件专用token", width = 15)
    @ApiModelProperty(value = "智能硬件专用token")
	private java.lang.String appToken;
	/**用户来源*/
	@Excel(name = "用户来源", width = 15)
    @ApiModelProperty(value = "用户来源")
	private java.lang.String sourceType;
	/**是否为体验官：0不是，1是*/
	@Excel(name = "是否为体验官：0不是，1是", width = 15)
    @ApiModelProperty(value = "是否为体验官：0不是，1是")
	private java.lang.Integer tester;
	/**外部id*/
	@Excel(name = "外部id", width = 15)
    @ApiModelProperty(value = "外部id")
	private java.lang.String externalUuid;
	/**是否为飞科员工：0 非员工， 5 外包员工 9 飞科员工*/
	@Excel(name = "是否为飞科员工：0 非员工， 5 外包员工 9 飞科员工", width = 15)
    @ApiModelProperty(value = "是否为飞科员工：0 非员工， 5 外包员工 9 飞科员工")
	private java.lang.Integer staffLevel;
	/**注册时预计的活动uuid*/
	@Excel(name = "注册时预计的活动uuid", width = 15)
    @ApiModelProperty(value = "注册时预计的活动uuid")
	private java.lang.String expectPromotionUuid;
	/**注册时预计的活动id*/
	@Excel(name = "注册时预计的活动id", width = 15)
    @ApiModelProperty(value = "注册时预计的活动id")
	private java.lang.Integer expectPromotionId;
	/**注册时预计的活动类型*/
	@Excel(name = "注册时预计的活动类型", width = 15)
    @ApiModelProperty(value = "注册时预计的活动类型")
	private java.lang.String expectPromotionType;
	/**实际参与的活动uuid*/
	@Excel(name = "实际参与的活动uuid", width = 15)
    @ApiModelProperty(value = "实际参与的活动uuid")
	private java.lang.String actualPromotionUuid;
	/**实际参与的活动id*/
	@Excel(name = "实际参与的活动id", width = 15)
    @ApiModelProperty(value = "实际参与的活动id")
	private java.lang.Integer actualPromotionId;
	/**实际参与的活动类型*/
	@Excel(name = "实际参与的活动类型", width = 15)
    @ApiModelProperty(value = "实际参与的活动类型")
	private java.lang.String actualPromotionType;
	/**是否匿名用户，0-不是，1是*/
	@Excel(name = "是否匿名用户，0-不是，1是", width = 15)
    @ApiModelProperty(value = "是否匿名用户，0-不是，1是")
	private java.lang.Integer anonymousFlag;
}
